﻿using Abp.Domain.Entities.Auditing;
using KDS.Mes.Mes.AlcCodes;
using KDS.Mes.Mes.Colors;
using KDS.Mes.Mes.Materials;
using KDS.Mes.Mes.SeatPositions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KDS.Mes.Mes.SeatInfos
{
    /// <summary>
    /// 座椅配置信息
    /// </summary>
    [Table("T_BomSeatInfo")]
    public class SeatInfo : FullAuditedEntity
    {

        [ForeignKey("AlcCodeId")]
        public virtual AlcCode AlcCode { get; set; }
        /// <summary>
        /// 所属款式
        /// </summary>
        public virtual int AlcCodeId { get; set; }

        [ForeignKey("SeatPositionId")]
        public virtual SeatPosition SeatPosition { get; set; }
        /// <summary>
        /// 所属位置
        /// </summary>
        public virtual int SeatPositionId { get; set; }

        [ForeignKey("ColorId")]
        public virtual Color Color { get; set; }
        /// <summary>
        /// 座椅颜色
        /// </summary>
        public virtual int ColorId { get; set; }

        [ForeignKey("MaterialId")]
        public virtual Material Material { get; set; }
        /// <summary>
        /// 蒙皮材质
        /// </summary>
        public virtual int MaterialId { get; set; }

        /// <summary>
        /// 滑道
        /// </summary>
        [Required]
        public SlideType Slide { get; set; }

        /// <summary>
        /// 高度调节
        /// </summary>
        [Required]
        public IsHave HGIT { get; set; }

        /// <summary>
        /// 腰部支撑
        /// </summary>
        [Required]
        public IsHave LumbarSupport { get; set; }

        /// <summary>
        /// 加热
        /// </summary>
        [Required]
        public IsHave Warmer { get; set; }

        /// <summary>
        /// 通风
        /// </summary>
        [Required]
        public IsHave Ventlation { get; set; }

        /// <summary>
        /// 侧气囊
        /// </summary>
        [Required]
        public IsHave SAB { get; set; }

        /// <summary>
        /// 杂志袋
        /// </summary>
        [Required]
        public IsHave BackPocket { get; set; }

        /// <summary>
        /// 压力传感器
        /// </summary>
        [Required]
        public IsHave SBR { get; set; }

        /// <summary>
        /// 位置记忆
        /// </summary>
        [Required]
        public IsHave IMS { get; set; }

        /// <summary>
        /// 一键折叠
        /// </summary>
        [Required]
        public IsHave OneTouch { get; set; }
    }

    
    public enum IsHave : byte
    {
        [Display(Name = "无")]
        No = 0,
        [Display(Name = "有")]
        Yes = 1
    }

    public enum SlideType : byte
    {
        [Display(Name = "电动")]
        Power = 0,
        [Display(Name = "手动")]
        Manual = 1
    }
}
